home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-12-02 | 4.2 KB | 158 lines | [TEXT/MMCC] |
- /*
- File: MathComponent.h
-
- Contains: Header file for math component routines.
-
- Written by: Gary Woodcock
-
- Copyright: © 1992 by Apple Computer, Inc.
-
- Change History (most recent first):
-
- */
-
- //-----------------------------------------------------------------------
- // Includes
-
- #ifndef _MATHCOMPONENT_
- #define _MATHCOMPONENT_
-
- #include <QuickTimeComponents.h>
-
- //-----------------------------------------------------------------------
- // Public constants
-
- #define mathComponentType 'math'
-
- // Math component request codes
- enum
- {
- kDoDivideSelect = 1,
- kDoMultiplySelect
- };
-
-
-
- //-----------------------------------------------------------------------
- // Public types
-
- typedef ComponentInstance MathComponent;
-
- //-----------------------------------------------------------------------
- // Public interfaces
-
- #ifdef __cplusplus
- extern "C" {
- #endif __cplusplus
-
-
- pascal ComponentResult DoDivide (MathComponent mathInstance,
- short numerator,
- short denominator,
- short *result)
- ComponentCallNow (kDoDivideSelect, 0x08);
-
- pascal ComponentResult DoMultiply (MathComponent mathInstance,
- short firstNum,
- short secondNum,
- short *result)
-
- ComponentCallNow (kDoMultiplySelect, 0x08);
-
- // Glue to send a target request code to a component - comment this out if you're using
- // QuickTime 1.5 or later
- /*
- pascal long ComponentSetTarget (ComponentInstance ti, ComponentInstance target)
- = ComponentCallNow (kComponentTargetSelect, 0x04);
- */
-
- #ifdef powerc
- #define CallComponentFunctionWithStorageUniv(storage, params, funcName) \
- CallComponentFunctionWithStorage(storage, params, &funcName##RD)
- #define CallComponentFunctionUniv(params, funcName) \
- CallComponentFunction(params, &funcName##RD)
- #define INSTANTIATE_ROUTINE_DESCRIPTOR(funcName) RoutineDescriptor funcName##RD = \
- BUILD_ROUTINE_DESCRIPTOR (upp##funcName##ProcInfo, funcName)
- #else
- #define CallComponentFunctionWithStorageUniv(storage, params, funcName) \
- CallComponentFunctionWithStorage(storage, params, (ComponentFunctionUPP)funcName)
- #define CallComponentFunctionUniv(params, funcName) \
- CallComponentFunction(params, (ComponentFunctionUPP)funcName)
- #endif
-
-
- enum {
- uppMathOpenProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(ComponentInstance)))
- };
-
- enum {
- uppMathCloseProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ComponentInstance)))
- };
-
-
- enum {
- uppMoMathCanDoProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))
- };
-
- enum {
- uppMathCanDoProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))
- };
-
- enum {
- uppMathVersionProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- };
-
- enum {
- uppMathTargetProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ComponentInstance)))
- };
-
-
- enum {
- uppMathDoDivideProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short*)))
- };
-
- enum {
- uppMathDoMultiplyProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short*)))
- };
-
- enum {
- uppMoMathDoAddProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short*)))
- };
-
-
-
-
-
- #ifdef __cplusplus
- }
- #endif __cplusplus
-
- #endif _MATHCOMPONENT_
-
- //-----------------------------------------------------------------------
-